<?php
/*
	+-----------------------------------------------------------------------------------------+
	| Projeto MonitoraSUS                                                                     |
	+-----------------------------------------------------------------------------------------+
	| Copyright (c) 2005-2008 Secretaria Municipal de Saúde de Belo Horizonte / Prodabel      |
	|                                                                                         |
	| Analista Responsável: Hugo Nathaniel Rodrigues <hugonr@gmail.com>, <hugo@pbh.gov.br> |  
	|                       Consultor - GSFS - Prodabel / SMSA                                |
	| Departamento Responsável - SMSA: GPLD - Paulinho <pauloces@pbh.gov.br>                  |
	| Departamento Responsável - Prodabel: GSFS - Ricardo Monteiro <monteiro@pbh.gov.br>      |
	| Analista de Informaçao: Marcone <marcone.costa@pbh.gov.br>                              |
	+-----------------------------------------------------------------------------------------+
*/

/**
* barrapercentual include para todas as páginas com grid do MonitoraSUS.
* funcão de visualização percentual e gráfica da quantidade realizada de cada módulo
* 
*
* @author Hugo Nathaniel Rodrigues <hugonr@gmail.com> <hugo@pbh.gov.br>
* @version $Id: inc.barrapercentual.php,v 1.0 06/08/2008 15:16:00 Hugo $
*
* @package MonitoraSUS
*/

/**
* mostrabarra - visualização da barra
*
* @param int $nivel
* @param int $codigo
* @param int $exercicio
*/
function mostrabarra($nivel, $codigo) {

	
	// somando o denominador
	if ($nivel == 1){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".eixos e, " . $_SESSION["banco"] . ".objetivos o, " . $_SESSION["banco"] . ".diretrizes d, " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and
				d.num_diretriz = m.num_diretriz and
				o.num_objetivo = d.num_objetivo and
				e.num_eixo = o.num_eixo and
				e.num_eixo = " . $codigo;
	    $resultado2 = pg_query( $sql2);
	    $pesodenominador = 0;
	    while ($rs2 = pg_fetch_array($resultado2)){
	    	$pesodenominador = $pesodenominador + $rs2["peso"];
		}
	}
	if ($nivel == 2){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".objetivos o, " . $_SESSION["banco"] . ".diretrizes d, " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and
				d.num_diretriz = m.num_diretriz and
				o.num_objetivo = d.num_objetivo and
				o.num_objetivo = " . $codigo;
	    $resultado2 = pg_query( $sql2);
	    $pesodenominador = 0;
	    while ($rs2 = pg_fetch_array($resultado2)){
	    	$pesodenominador = $pesodenominador + $rs2["peso"];
		}
	}

	if ($nivel == 3){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".diretrizes d, " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and
				d.num_diretriz = m.num_diretriz and
				d.num_diretriz = " . $codigo;
	    $resultado2 = pg_query( $sql2);
	    $pesodenominador = 0;
	    while ($rs2 = pg_fetch_array($resultado2)){
	    	$pesodenominador = $pesodenominador + $rs2["peso"];
		}
	}
	if ($nivel == 4){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and
				m.num_objetivoespecifico = " . $codigo;
	    $resultado2 = pg_query( $sql2);
	    $pesodenominador = 0;
	    while ($rs2 = pg_fetch_array($resultado2)){
	    	$pesodenominador = $pesodenominador + $rs2["peso"];
		}
	}
	if ($nivel == 5){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				mg.num_meta = " . $codigo;
	    $resultado2 = pg_query( $sql2);
	    $pesodenominador = 0;
	    while ($rs2 = pg_fetch_array($resultado2)){
	    	$pesodenominador = $pesodenominador + $rs2["peso"];
		}
	}
	if ($nivel == 6){
		$pesodenominador = 100;
	}
	if ($nivel == 7){
		$pesodenominador = 100;
	}

	// somando o peso total realizado
	if ($nivel == 1){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".eixos e, " . $_SESSION["banco"] . ".objetivos o, " . $_SESSION["banco"] . ".diretrizes d, " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and 
				d.num_diretriz = m.num_diretriz and
				o.num_objetivo = d.num_objetivo and
				e.num_eixo = o.num_eixo and 
				e.num_eixo = " . $codigo . " and
				ap.num_tipo_prazo = 3";
	}

	if ($nivel == 2){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".objetivos o, " . $_SESSION["banco"] . ".diretrizes d, " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and 
				d.num_diretriz = m.num_diretriz and
				o.num_objetivo = d.num_objetivo and
				o.num_objetivo = " . $codigo . " and
				ap.num_tipo_prazo = 3";
	}
	if ($nivel == 3){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".diretrizes d, " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and 
				d.num_diretriz = m.num_diretriz and
				d.num_diretriz = " . $codigo . " and
				ap.num_tipo_prazo = 3";
	}
	if ($nivel == 4){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".objetivos_especificos m, " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				m.num_objetivoespecifico = mg.num_objetivoespecifico and 
				mg.num_objetivoespecifico = " . $codigo . " and
				ap.num_tipo_prazo = 3";
	}
	if ($nivel == 5){
		$sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".metas mg, " . $_SESSION["banco"] . ".operacoes op, " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a 
				where a.situacao='A' and ap.situacao='A' 
				and a.num_acao = ap.num_acao and 
				op.num_operacao = a.num_operacao and
				mg.num_meta = op.num_meta and
				mg.num_meta = " . $codigo . " and
				ap.num_tipo_prazo = 3";
	}
	if ($nivel == 6){
        $sql2 = "select distinct a.num_acao, a.peso 
				from " . $_SESSION["banco"] . ".acao_prazos ap, " . $_SESSION["banco"] . ".acoes a where a.situacao='A' 
				and ap.situacao='A' and a.num_acao = ap.num_acao 
				and a.num_operacao = " . $codigo . " and num_tipo_prazo = 3";
	}
	if ($nivel == 7){
		$sql2 = "select distinct a.num_acao, case when 
				(select count(*) from " . $_SESSION["banco"] . ".acao_prazos b 
				where b.num_acao = a.num_acao and num_tipo_prazo = 3)>0 then 100 else 0 end as peso
				from " . $_SESSION["banco"] . ".acoes a where a.situacao='A'
				and a.num_acao = $codigo";

	}
	$resultado2 = pg_query($sql2);
    $pesototal = 0;
    while ($rs2 = pg_fetch_array($resultado2)){
    	$pesototal = $pesototal + $rs2["peso"];
	}


	if ($pesototal == $pesodenominador){
    	// Não atualizou a data real final mas já terminou o serviço.
        $semaforo = "semaforo_verde";
	}
	$sim = $pesototal;
    $nao = $pesodenominador - $pesototal;
    if (($pesototal >= 0) && ($pesototal <= ((5*$pesodenominador)/100))){
    	$figura = "barrinhavermelha";
        $frente = 1;
        $fundo = 34;
	}
    if (($pesototal > ((5*$pesodenominador)/100)) && ($pesototal <= ((10*$pesodenominador)/100))){
    	$figura = "barrinhavermelha";
        $frente = 3;
        $fundo = 32;
	}
    if (($pesototal > ((10*$pesodenominador)/100)) && ($pesototal <= ((15*$pesodenominador)/100))){
    	$figura = "barrinhavermelha";
        $frente = 5;
        $fundo = 30;
	}
    if (($pesototal > ((15*$pesodenominador)/100)) && ($pesototal <= ((20*$pesodenominador)/100))){
    	$figura = "barrinhavermelha";
        $frente = 7;
        $fundo = 28;
	}
    if (($pesototal > ((20*$pesodenominador)/100)) && ($pesototal <= ((25*$pesodenominador)/100))){
    	$figura = "barrinhavermelha";
        $frente = 8;
        $fundo = 27;
    }
    if (($pesototal > ((25*$pesodenominador)/100)) && ($pesototal <= ((30*$pesodenominador)/100))){
    	$figura = "barrinhavermelha";
        $frente = 10;
        $fundo = 25;
    }
    if (($pesototal > ((30*$pesodenominador)/100)) && ($pesototal <= ((35*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 12;
        $fundo = 23;
	}
    if (($pesototal > ((35*$pesodenominador)/100)) && ($pesototal <= ((40*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 14;
        $fundo = 21;
	}
    if (($pesototal > ((40*$pesodenominador)/100)) && ($pesototal <= ((45*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 15;
        $fundo = 20;
    }
    if (($pesototal > ((45*$pesodenominador)/100)) && ($pesototal <= ((50*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 17;
        $fundo = 18;
	}
    if (($pesototal > ((50*$pesodenominador)/100)) && ($pesototal <= ((55*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 19;
        $fundo = 16;
	}
    if (($pesototal > ((55*$pesodenominador)/100)) && ($pesototal <= ((60*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 21;
        $fundo = 14;
	}
    if (($pesototal > ((60*$pesodenominador)/100)) && ($pesototal <= ((65*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 22;
        $fundo = 13;
	}
    if (($pesototal > ((65*$pesodenominador)/100)) && ($pesototal <= ((70*$pesodenominador)/100))){
    	$figura = "barrinhaamarela";
        $frente = 24;
        $fundo = 11;
	}
    if (($pesototal > ((70*$pesodenominador)/100)) && ($pesototal <= ((75*$pesodenominador)/100))){
    	$figura = "barrinhaverde";
        $frente = 26;
        $fundo = 9;
	}
    if (($pesototal > ((75*$pesodenominador)/100)) && ($pesototal <= ((80*$pesodenominador)/100))){
    	$figura = "barrinhaverde";
        $frente = 28;
        $fundo = 7;
	}
    if (($pesototal > ((80*$pesodenominador)/100)) && ($pesototal <= ((85*$pesodenominador)/100))){
    	$figura = "barrinhaverde";
        $frente = 29;
        $fundo = 6;
	}
	if (($pesototal > ((85*$pesodenominador)/100)) && ($pesototal <= ((90*$pesodenominador)/100))){
    	$figura = "barrinhaverde";
        $frente = 31;
        $fundo = 4;
	}
    if (($pesototal > ((90*$pesodenominador)/100)) && ($pesototal <= ((95*$pesodenominador)/100))){
    	$figura = "barrinhaverde";
        $frente = 33;
        $fundo = 2;
	}
    if (($pesototal > ((95*$pesodenominador)/100)) && ($pesototal <= ((100*$pesodenominador)/100))){
    	$figura = "barrinhaverde";
        $frente = 34;
        $fundo = 1;
	}
	if ($pesodenominador > 0){
		$pesopercentual = ($pesototal / $pesodenominador) * 100;
	} else {
		$pesopercentual = 0;
	}
	$pesopercentual = number_format($pesopercentual, 2, ",", "");
	
	for ($i=1; $i<=$frente; $i++){
		echo "<img src=\"./telas/images/degrade-verde$i.gif\" alt=\"" . $pesopercentual . "% realizado\" title=\"" . $pesopercentual . "% realizado\" width=\"1\" height=\"10\" border=\"0\">";
	}

	// echo "<img src=\"./telas/images/" . $figura . ".gif\" alt=\"" . $pesopercentual . "% realizado\" title=\"" . $pesopercentual . "% realizado\" width=\"" . $frente . "\" height=\"10\" border=\"0\">";
	echo "<img src=\"./telas/images/barrinhafundo.gif\" alt=\"" . $pesopercentual . "% realizado\" title=\"" . $pesopercentual . "% realizado\" height=\"10\" width=\"" . $fundo . "\" border=\"0\">";
}

?>